This invention relates to use of error control bits to compensate for corrupted memory cells.
Error control of a digital signal transferred from one site to another is often implemented by use of error control bits (parity, CRC, syndrome polynomials) that are associated with a segment of the signal to be transferred. However, one or more of the digital signal bits may become corrupted through a process that is not associated with, or that does not permit correction by use of, the error control bits associated with that segment. This may occur when a memory cell becomes corrupted and will not accept and hold a particular voltage value, corresponding to a xe2x80x9czeroxe2x80x9d or a xe2x80x9cone.xe2x80x9d In this situation, an entire digital signal segment may become unusable although only one or a few of the digital signal bits in memory are xe2x80x9cbad.xe2x80x9d
Segments containing data bits and segments containing the associated error control bits are traditionally stored in fixed locations in separate regions in a digital computer memory. This approach is acceptable if a data bit segment is either correct, as interrogated using a selected error control procedure, or if the data bit is erroneous but can be corrected using the error control procedure. However, if the data bit segment contains one or more bit errors that cannot be so corrected, an entire region in memory can be compromised and rendered unusable.
What is needed is an approach that can reduce or minimize the disruption of a data bit segment in which one or more erroneous and uncorrectable data bits are found and should allow subsequent identification of any such data bit segments. Preferably, the approach should not affect a data bit segment that either contains no errors or contains only correctable data bit errors. Preferably, the approach should involve processing of only the bits in the data bit segment and in the associated error control bit segment.
These needs are met by the invention, which (1) performs an error check on a data bit segment to determine if one or more data bit errors is present, and (2) where one or more data bit errors is present, determines whether the bit error(s) is correctable. Where the first question is answered xe2x80x9cyesxe2x80x9d and the second question is answered xe2x80x9cnoxe2x80x9d, the system replaces one or more data bits in this corrupted data bit segment by one or more error control bits, and flags the segment in which the replaced bit(s) is located, in order to disable application of the error control check(s) for that modified data bit segment.